package com.lds.erp.order.order.ao;

import com.dph.common.utils.service.Base;
import com.lds.erp.order.cart.ao.AppSsuListInfoAO;
import com.lds.erp.order.enums.PaymentMethodEnum;
import com.lds.erp.order.enums.PaymentTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;


/**
 * 创建订单请求参数
 */
public class OrderMchOrderCreateAO extends Base {

    private static final long serialVersionUID = 6813310816233549392L;


    @ApiModelProperty(value = "购买商品信", required = true)
    private List<AppSsuListInfoAO> ssuVOList;


    @ApiModelProperty(value = "订单备注")
    private String ordOrderNote;


    /**
     *预定送达区间开始日期
     */
    @ApiModelProperty(value = "预定送达区间开始日期",required = true)
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date ordEstimateStartTime;

    /**
     *预定送达区间结束日期
     */
    @ApiModelProperty(value = "预定送达区间结束日期",required = true)
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date ordEstimateEndTime;

    /**
     * 支付方式
     */
    @ApiModelProperty(value = "支付方式", required = true)
    private PaymentMethodEnum ordPaymentMethod;

    @ApiModelProperty(value = "支付类型", required = true)
    private PaymentTypeEnum ordPaymentType;



    /**
     * 满减优惠券编码
     */
    @ApiModelProperty(name = "fullCouponCode", value = "满减优惠券编码")
    private String fullCouponCode;

    /**
     * 立减优惠券
     */
    @ApiModelProperty(name = "immediatelyList", value = "立减优惠券")
    private List<String>immediatelyList;


    @ApiModelProperty(value = "前端随机生成", required = true)

    private String  formId;


    private Integer districtId;

    private Integer agent;

    private String mchId;

    private String pointsCode;


    /**
     * 使用积分
     */
    private Integer usePoints;

    /**
     * 预售(Y,N)
     */
    @ApiModelProperty(value = "预售订单")
    private String presale;

    public String getPresale() {
        return presale;
    }

    public void setPresale(String presale) {
        this.presale = presale;
    }

    public String getPointsCode() {
        return pointsCode;
    }

    public void setPointsCode(String pointsCode) {
        this.pointsCode = pointsCode;
    }

    public Integer getUsePoints() {
        return usePoints;
    }

    public void setUsePoints(Integer usePoints) {
        this.usePoints = usePoints;
    }

    public List<AppSsuListInfoAO> getSsuVOList() {
        return ssuVOList;
    }

    public void setSsuVOList(List<AppSsuListInfoAO> ssuVOList) {
        this.ssuVOList = ssuVOList;
    }


    public String getOrdOrderNote() {
        return ordOrderNote;
    }

    public void setOrdOrderNote(String ordOrderNote) {
        this.ordOrderNote = ordOrderNote;
    }

    public PaymentMethodEnum getOrdPaymentMethod() {
        return ordPaymentMethod;
    }

    public void setOrdPaymentMethod(PaymentMethodEnum ordPaymentMethod) {
        this.ordPaymentMethod = ordPaymentMethod;
    }

    public String getFullCouponCode() {
        return fullCouponCode;
    }

    public void setFullCouponCode(String fullCouponCode) {
        this.fullCouponCode = fullCouponCode;
    }

    public List<String> getImmediatelyList() {
        return immediatelyList;
    }

    public void setImmediatelyList(List<String> immediatelyList) {
        this.immediatelyList = immediatelyList;
    }

    public PaymentTypeEnum getOrdPaymentType() {
        return ordPaymentType;
    }

    public void setOrdPaymentType(PaymentTypeEnum ordPaymentType) {
        this.ordPaymentType = ordPaymentType;
    }

    public String getFormId() {
        return formId;
    }

    public void setFormId(String formId) {
        this.formId = formId;
    }

    public Date getOrdEstimateStartTime() {
        return ordEstimateStartTime;
    }

    public void setOrdEstimateStartTime(Date ordEstimateStartTime) {
        this.ordEstimateStartTime = ordEstimateStartTime;
    }

    public Date getOrdEstimateEndTime() {
        return ordEstimateEndTime;
    }

    public void setOrdEstimateEndTime(Date ordEstimateEndTime) {
        this.ordEstimateEndTime = ordEstimateEndTime;
    }

    public Integer getDistrictId() {
        return districtId;
    }

    public void setDistrictId(Integer districtId) {
        this.districtId = districtId;
    }


    public Integer getAgent() {
        return agent;
    }

    public void setAgent(Integer agent) {
        this.agent = agent;
    }

    public String getMchId() {
        return mchId;
    }

    public void setMchId(String mchId) {
        this.mchId = mchId;
    }
}
